package com.ecr.hub.util;

/**
 * Méthode utilitaire pour le calcul de temps/date
 * 
 * @author bba
 */
public class TimeUtils{

	/**
	 * Renvoie une durée au format: mm:HH:ss
	 * 
	 * @param startMs La date de début en ms
	 * @param endMs La date de fin en ms
	 * @return Le temps écoulé
	 */
	public static String getTime(long startMs,
			                     long endMs){
		long lastMs = endMs - startMs;
		
		long timeInS = lastMs / 1000;
		long timeInMs = lastMs % 1000;
		long timeInMin = timeInS / 60;
		timeInS = timeInS % 60;
		long timeInH = timeInMin / 60;
		timeInMin = timeInMin % 60;
		
		return new StringBuilder().append(timeInH < 10? "0": "")
		                          .append(timeInH)
		                          .append("H")
		                          .append(timeInMin < 10? "0": "")
		                          .append(timeInMin)
		                          .append("mn")
		                          .append(timeInS < 10? "0": "")
		                          .append(timeInS)
		                          .append("s")
		                          .append(timeInMs < 10? "00": timeInMs < 100? "0": "")
		                          .append(timeInMs)
		                          .append("ms")
		                          .toString();
	}
	
}